Building Android Projects with Kotlin: Use Android SDK, Jetpack, Material Design, and JUnit to Build Android and JVM Apps That Are Secure and Modular by Pankaj Kumar
Author:Pankaj Kumar [Kumar, Pankaj]
Language: eng
Format: epub
Publisher: BPB Publications
Published: 2023-04-15T00:00:00+00:00
Product flavors
It allows us to configure the different versions of our application, where each version can have a different set of features, resources, and application id. Let us assume that we want to release two versions one is free, and another is paid for our application, and we use product flavors. In terms of product flavors, free and paid versions of the application are just an example; we can create any type of application version, like a country-specific application version.
Let us create free and pro (paid) versions; the code will be as follows:
android {
â¦
buildTypes {
debug { ⦠}
release { ⦠}
staging { ⦠}
}
// A flavorDimension is like a flavor category
// where each combination of a flavor from
// each dimension will produce a variant.
// We can define more than one dimensions.
flavorDimensions âversionâ
productFlavors {
free {
// Each product flavor must be assigned to one
// flavor dimensions.
dimension âversionâ
// Add .free at last of application id
applicationIdSuffix â.freeâ
versionCode 202100629
versionName â1.0.0-freeâ
// versionNameSuffix â-freeâ
// resValue is to create string resource specific
// to build. In below case
// R.string.flavor_specific_string will be created
// with value âGenerated from free versionâ.
resValue âstringâ,
âflavor_specific_stringâ,
âGenerated from free versionâ
}
pro {
dimension âversionâ
applicationIdSuffix â.fullâ
versionCode 202100629
versionName â1.0.0-fullâ
// versionNameSuffix â-fullâ
// R.string.flavor_specific_string will be created
// with value âGenerated from pro/full versionâ
resValue âstringâ,
âflavor_specific_stringâ,
âGenerated from pro/full versionâ
}
}
â¦
}
After adding product flavors, we need to sync Gradle, and after a successful build, we will see more options at Build Variants, as shown in figure 5.3:
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Deep Learning with Python by François Chollet(12520)
Hello! Python by Anthony Briggs(9867)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(9757)
The Mikado Method by Ola Ellnestam Daniel Brolund(9747)
Dependency Injection in .NET by Mark Seemann(9293)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8258)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(7741)
Grails in Action by Glen Smith Peter Ledbrook(7667)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7517)
Becoming a Dynamics 365 Finance and Supply Chain Solution Architect by Brent Dawson(6743)
Microservices with Go by Alexander Shuiskov(6510)
Practical Design Patterns for Java Developers by Miroslav Wengner(6408)
Test Automation Engineering Handbook by Manikandan Sambamurthy(6386)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6378)
Angular Projects - Third Edition by Aristeidis Bampakos(5765)
The Art of Crafting User Stories by The Art of Crafting User Stories(5296)
NetSuite for Consultants - Second Edition by Peter Ries(5241)
Demystifying Cryptography with OpenSSL 3.0 by Alexei Khlebnikov(5058)
Kotlin in Action by Dmitry Jemerov(5019)
